Motion Capture While Fishing

ABSTRACT

Various implementations described herein are directed to a non-transitory computer readable medium having stored thereon computer-executable instructions which, when executed by a computer, may cause the computer to automatically receive motion capture data recorded by one or more cameras. The computer may analyze the motion capture data to detect a cast, catch, or bite. The computer may store a record of the cast, catch, or bite.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Patent Application Ser. No. 61/868,444, filed Aug. 21, 2013 and titled FISHING DATA COLLECTION AND USE, the disclosure of which is incorporated herein by reference.

BACKGROUND

This section is intended to provide background information to facilitate a better understanding of various technologies described herein. As the section's title implies, this is a discussion of related art. That such art is related in no way implies that it is prior art. The related art may or may not be prior art. It should therefore be understood that the statements in this section are to be read in this light, and not as admissions of prior art.

Accurate data, including, for example, a count of fishing casts made, can be very useful for a fisherman. A device that can capture this data can provide advantages to a fisherman. Such advantages include requiring less time to record information, and collecting more accurate data.

SUMMARY

Described herein are implementations of various technologies for a method for analyzing motion capture data to detect a cast, catch, or bite. In one implementation, a non-transitory computer-readable medium having stored thereon computer-executable instructions which, when executed by a computer, cause the computer to perform various actions. The actions may include receiving motion capture data recorded by one or more cameras. The actions may include analyzing the motion capture data to detect a cast, catch, or bite. The actions may also include storing a record of the cast, catch, or bite.

Described herein are also implementations of various technologies for a method for analyzing a three dimensional scan of a fish to determine a length and weight of the fish. In one implementation, a non-transitory computer-readable medium having stored thereon computer-executable instructions which, when executed by a computer, cause the computer to perform various actions. The actions may include receiving a three dimensional scan of a fish. The actions may include analyzing the three dimensional scan to determine a length and weight of the fish. The actions may also include storing a record of the length and weight of the fish.

Described herein are also implementations of various technologies for a method for analyzing motion capture data to automatically detect casts, catches, or bites. In one implementation, a non-transitory computer-readable medium having stored thereon computer-executable instructions which, when executed by a computer, cause the computer to perform various actions. The actions may include receiving motion capture data recorded by one or more cameras, wherein the motion capture data comprises motions of a fisherman during a fishing trip. The actions may include analyzing the motion capture data to automatically detect casts, catches, bites, or combinations thereof performed by a fisherman during a fishing trip. The actions may also include storing a record of the casts, catches, or bites.

The above referenced summary section is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description section. The summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

Implementations of various techniques will hereafter be described with reference to the accompanying drawings. It should be understood, however, that the accompanying drawings illustrate only the various implementations described herein and are not meant to limit the scope of various techniques described herein.

FIG. 1 illustrates using a motion capture device to capture fishing data in accordance with implementations of various techniques described herein.

FIG. 2 illustrates using a three dimensional scanner to capture fishing data in accordance with various implementations described herein.

FIG. 3 is a flow diagram for a method of detecting fishing data in accordance with implementations of various techniques described herein.

FIG. 4 is a flow diagram for a method of using a three dimensional scan of a fish to record fishing data in accordance with implementations of various techniques described herein.

FIG. 5 is a flow diagram for a method of recording weather conditions in accordance with implementations of various techniques described herein.

FIG. 6 illustrates a schematic diagram of a computing system in which the various technologies described herein may be incorporated and practiced.

FIG. 7 illustrates a schematic of a marine electronics device in accordance with implementations of various techniques described herein.

DETAILED DESCRIPTION

The discussion below is directed to certain specific implementations. It is to be understood that the discussion below is only for the purpose of enabling a person with ordinary skill in the art to make and use any subject matter defined now or later by the patent “claims” found in any issued patent herein.

It is specifically intended that the claimed invention not be limited to the implementations and illustrations contained herein, but include modified forms of those implementations including portions of the implementations and combinations of elements of different implementations as come within the scope of the following claims. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with system-related and business related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure. Nothing in this application is considered critical or essential to the claimed invention unless explicitly indicated as being “critical” or “essential.”

Reference will now be made in detail to various implementations, examples of which are illustrated in the accompanying drawings and figures. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be apparent to one of ordinary skill in the art that the present disclosure may be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.

It will also be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first object or step could be termed a second object or step, and, similarly, a second object or step could be termed a first object or step, without departing from the scope of the invention. The first object or step, and the second object or step, are both objects or steps, respectively, but they are not to be considered the same object or step.

The terminology used in the description of the present disclosure herein is for the purpose of describing particular implementations only and is not intended to be limiting of the present disclosure. As used in the description of the present disclosure and the appended claims, the singular forms “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “includes,” “including,” “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and/or groups thereof.

As used herein, the term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in response to detecting,” depending on the context. Similarly, the phrase “if it is determined” or “if [a stated condition or event] is detected” may be construed to mean “upon determining” or “in response to determining” or “upon detecting [the stated condition or event]” or “in response to detecting [the stated condition or event],” depending on the context. As used herein, the terms “up” and “down”; “upper” and “lower”; “upwardly” and “downwardly”; “below” and “above”; and other similar terms indicating relative positions above or below a given point or element may be used in connection with some implementations of various technologies described herein.

Various implementations of motion capture while fishing described herein will now be described in more detail with reference to FIGS. 1-7.

FIG. 1 illustrates using a motion capture device to capture fishing data in accordance with implementations of various techniques described herein. In FIG. 1, a marine electronics device 120, further described in FIG. 7, is used to collect fishing data, such as a record of casts, catches, bites, or other events that may occur during a fishing trip.

Attached to the marine electronics device 120 is a motion capture device 110. The motion capture device 110 includes one or more cameras that may be used to capture motion data during a fishing trip. The cameras may capture images, videos, or both. The cameras may also be used to capture depth data. For example, if a fisherman is fishing in front of the motion capture device 110, the motion data may include the distance from the motion capture device 110 to the fisherman. In one implementation, the motion capture device 110 may monitor a plurality of tracking points located on a body, a fishing rod, or points on a fish. For example, a fisherman's elbow may be a tracking point. As the fisherman moves his elbow, the motion capture device 110 would detect the motion of the tracking point. The location for tracking points may be selected by identifying specific patterns or structures. In one implementation, a fisherman may wear one or more devices with sensors, such as accelerometers, and the sensor data may be used in combination with the data captured by the cameras in the motion capture device 110.

Although the motion capture device 110 is illustrated in FIG. 1 as a device attached to the marine electronics device 120, other implementations used to capture motion data are contemplated herein. For example, the cameras may be installed in or mounted on a vessel and positioned to capture video or images from multiple angles. For example, one set of cameras may be positioned at the front of a vessel, and another set of cameras may be positioned at the back of the vessel. In this example, both sets of cameras would be pointed towards the center of the vessel, and would capture video or images of a fisherman from two different angles. In another example, cameras may be located in the marine electronics device 120.

In one implementation, the motion capture device 110 may be used to capture data of a fish 130. In FIG. 1, the motion capture device 110 is performing a three dimensional scan of the fish 130. Data from the motion capture device 110 may then be transmitted to the marine electronics device 120. The marine electronics device 120 may use the three dimensional scan of the fish to estimate a length and weight of the fish 130, and also to determine the species of fish 130.

In another implementation, the motion capture device 110 may be used to capture the motion of a fisherman 140. The motion capture device 110 may then transmit the motion capture data to the marine electronics device 120. The marine electronics device 120 may use the motion capture data to determine the occurrence of a cast, catch, bite, or other fishing event. The motion capture device 110 may also use the motion capture data to determine the type of cast or other data related to the fishing event.

FIG. 2 illustrates using a three dimensional scanner to capture fishing data in accordance with various implementations described herein. In FIG. 2, a smart phone 220 has one or more cameras. The cameras in the smart phone 220 may be used to take a picture of a fish 210, or to perform a three dimensional scan of a fish 210. The image or three dimensional scan of the fish 210 may then be analyzed by the smartphone 220 and used to estimate the length of the fish 210, weight of the fish 210, or the species of fish 210.

FIG. 3 is a flow diagram for a method 300 of detecting fishing data in accordance with implementations of various techniques described herein. In one implementation, method 300 may be performed by any computer system 600, including a portable computer system, a smart phone device, a remote server, a marine electronics device 700, a cloud server and the like. It should be understood that while method 300 indicates a particular order of execution of operations, in some implementations, certain portions of the operations might be executed in a different order, and on different systems. Further, in some implementations, additional operations or steps may be added to the method 300. Likewise, some operations or steps may be omitted.

At block 310, method 300 may receive motion capture data recorded during a fishing trip. The motion capture data may be recorded using a motion capture device 110, as illustrated in FIG. 1. The motion capture data may include motions performed by a fisherman during a fishing trip, such as casting, making catches, or any other motions performed by the fisherman during the fishing trip.

At block 320, method 300 may receive location data. The location data may be recorded using a Global Positioning System (GPS). The GPS may be located in a marine electronics device 700, or located on a vessel and connected to the marine electronics device 700. The location data may describe the approximate position of a vessel or fisherman.

At block 330, method 300 may analyze the motion capture data received at block 310 to detect one or more fishing events. The fishing events may include casts, catches, bites, fish on the line, fish off the line, start of a fight, end of a fight, or other events that occur during a fishing trip. In one implementation, the motion capture data received at block 310 may be compared to previously recorded motion capture data. For example, the motion capture data may be compared to previously recorded motion capture data of fishermen making casts. In another implementation, the speed and direction of motion in the motion capture data may be analyzed to detect a fishing event.

At block 340, method 300 may use the motion capture data received at block 310 to detect data related to the fishing event detected at block 330. This step is optional. For example, if a cast is detected at block 330, at block 340, the type of cast or type of equipment (e.g., lure, rod, etc.) used may be detected. In another example, if a catch is detected at block 330, the species of the caught fish may be detected, the length of fight may be detected, or the length of the caught fish may be detected at block 340.

At block 350, a record of the fishing event detect at block 330, any related data detected at block 340, and the location received at block 320 may be stored to memory. In one implementation, the record may be transmitted to a cloud software service. In another implementation, the record may include a timestamp in addition to or instead of a location.

Method 300 may be used continuously during a fishing trip to record fishing events throughout the fishing trip. For example, a motion capture device may be activated at the beginning of a fishing trip and deactivated at the end of the fishing trip. In this example, method 300 may continuously analyze motion capture data recorded by the motion capture device and record fishing events as they occur. In this manner, fishing events would be automatically detected and recorded during a fishing trip without any user input.

FIG. 4 is a flow diagram for a method of using a three dimensional scan of a fish to record fishing data in accordance with implementations of various techniques described herein. In one implementation, method 400 may be performed by any computer system 600, including a portable computer system, a smart phone device, a remote server, a marine electronics device 700, a cloud server and the like. It should be understood that while method 400 indicates a particular order of execution of operations, in some implementations, certain portions of the operations might be executed in a different order, and on different systems. Further, in some implementations, additional operations or steps may be added to the method 400. Likewise, some operations or steps may be omitted.

At block 410, method 400 may receive an image of a fish or a three dimensional scan of a fish. The image or scan may be captured using one or more cameras. FIGS. 1 and 2 illustrate examples of capturing images and three dimensional scans of fish. A three dimensional scan of a fish may include data describing the shape and color of a fish. For example, the three dimensional scan may be a point cloud in a three dimensional coordinate system. A point cloud is a set of data points in a coordinate system. For example, if the point cloud coordinate system is a three dimensional coordinate system, the set of data points may form a three dimensional object. In this example, the data points may describe the shape and volume of a three dimensional object.

At block 420, method 400 may receive location data. The location data may be recorded using a GPS. The GPS may be located in a marine electronics device 700, or located on a vessel and connected to the marine electronics device 700. The location data may describe the approximate position of a vessel or fisherman.

At block 430, method 400 may use the scan or image received at block 410 to estimate a length and weight of the fish. In one implementation, the length may be determined using the scan or image, and then the weight may be estimated using the length.

The scan or image received at block 410 may also be used at block 430 to determine the species of the fish. In one implementation, method 400 may compare the image or scan of the fish to stored images or scans of previously caught and identified fish, and determine which stored image or scan is most similar to the image or scan received at block 410. The location received at block 420 may also be used when determining the species of fish. For example, the location may be used to determine which species of fish are likely to inhabit the location of a caught fish, and then the scan or image of the caught fish may be used to determine which of those species has a similar appearance to the caught fish.

At block 440, method 400 may store a record of the fish data determined at block 430, and the location received at block 420, to memory. In one implementation, the record may be transmitted to a cloud software service. In a second implementation, the record may include a timestamp in addition to or instead of a location.

In one implementation, method 400 may be activated continuously throughout a fishing trip. For example, at the beginning of a fishing trip a motion capture device may be activated, and at the end of a fishing trip, the motion capture device may be deactivated. In this example, whenever a fisherman catches a fish, the fish may be scanned and an estimate of the length, weight and species may be automatically determined and recorded.

In another implementation, method 400 may be implemented as an application on a smart phone device. After a fisherman catches a fish, the fisherman may activate the application on the smart phone and take a picture or perform a three dimensional scan of the fish. The length, weight and species of the fish may then be automatically determined and recorded.

In yet another implementation, method 400 may be used during a fishing competition to ensure that accurate data describing a catch is recorded. For example, method 400 may be used to confirm measurements made by a competitor in a fishing competition.

FIG. 5 is a flow diagram for a method 500 of recording weather conditions in accordance with implementations of various techniques described herein. In one implementation, method 500 may be performed by any computer system 600, including a portable computer system, a smart phone device, a remote server, a marine electronics device 700, a cloud server and the like. It should be understood that while method 500 indicates a particular order of execution of operations, in some implementations, certain portions of the operations might be executed in a different order, and on different systems. Further, in some implementations, additional operations or steps may be added to the method 500. Likewise, some operations or steps may be omitted.

At block 510, method 500 may receive video data or images. The video data or images may be recorded using a motion capture device, such as the motion capture device 110 illustrated in FIG. 1. The video data or images may be captured using any other camera system. For example, a camera pointing directly towards the sky may be used to capture the video data or images.

At block 520, method 500 may receive location data. The location data may be recorded using a GPS. The GPS may be located in a marine electronics device 700, or located on a vessel and connected to the marine electronics device 700. The location data may describe the approximate position of a vessel or fisherman.

At block 530, method 500 may use the video or images received at block 510 to determine weather conditions. The video or images may be used to determine cloud clover, light levels, precipitation, or other weather conditions relevant to a fisherman.

At block 540, a record of the weather conditions determined at block 530, and the location received at block 520 may be stored in memory. Additional environmental information may be determined using a marine electronics device 700, smart phone device, or other device and stored as well, such as tidal information, atmospheric temperature, water temperature, current, moon phase, wind speed and direction, or any other environmental data. In one implementation, the record may be transmitted to a cloud software service. In another implementation, the record may include a timestamp in addition to or instead of a location. In yet another implementation, weather condition data may be recorded throughout a fishing trip, or at predetermined intervals, and stored in memory.

At block 550, the record of the weather conditions may be associated with a record of a fishing event. For example, when a catch occurs, a record of the catch may be stored, and a record of the weather conditions at the time of the catch may be stored and associated with the record of the catch. In one implementation, the record of the weather conditions may be combined with the record of the fishing event.

Computing System

Implementations of various technologies described herein may be operational with numerous general purpose or special purpose computing system environments or configurations. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with the various technologies described herein include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, smart phones, tablets, wearable computers, cloud computing systems, virtual computers, marine electronics devices, and the like.

The various technologies described herein may be implemented in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that performs particular tasks or implement particular abstract data types. Further, each program module may be implemented in its own way, and all need not be implemented the same way. While program modules may all execute on a single computing system, it should be appreciated that, in some implementations, program modules may be implemented on separate computing systems or devices adapted to communicate with one another. A program module may also be some combination of hardware and software where particular tasks performed by the program module may be done either through hardware, software, or both.

The various technologies described herein may be implemented in the context of marine electronics, such as devices found in marine vessels and/or navigation systems. Ship instruments and equipment may be connected to the computing systems described herein for executing one or more navigation technologies. As such, the computing systems may be configured to operate using sonar, radar, GPS and like technologies.

The various technologies described herein may also be implemented in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network, e.g., by hardwired links, wireless links, or combinations thereof. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.

FIG. 6 illustrates a computer system 600 into which implementations of various technologies and techniques described herein may be implemented. Computing system 600 may be a conventional desktop, a handheld device, a wearable device, a controller, a personal digital assistant, a server computer, an electronic device/instrument, a laptop, a tablet, or part of a navigation system, marine electronics, or sonar system. It should be noted, however, that other computer system configurations may be used.

The computing system 600 may include a central processing unit (CPU) 630, a system memory 626 and a system bus 628 that couples various system components including the system memory 626 to the CPU 630. Although only one CPU 630 is illustrated in FIG. 6, it should be understood that in some implementations the computing system 600 may include more than one CPU 630.

The CPU 630 can include a microprocessor, a microcontroller, a processor, a programmable integrated circuit, or a combination thereof. The CPU 630 can comprise an off-the-shelf processor such as a Reduced Instruction Set Computer (RISC), including an Advanced RISC Machine (ARM) processor, or a Microprocessor without Interlocked Pipeline Stages (MIPS) processor, or a combination thereof. The CPU 630 may also include a proprietary processor. The CPU may include a multi-core processor.

The CPU 630 may provide output data to a Graphics Processing Unit (GPU) 631. The GPU 631 may generate graphical user interfaces that present the output data. The GPU 631 may also provide objects, such as menus, in the graphical user interface. A user may provide inputs by interacting with the objects. The GPU 631 may receive the inputs from interaction with the objects and provide the inputs to the CPU 630. In one implementation, the CPU 630 may perform the tasks of the GPU 631. A video adapter 632 may be provided to convert graphical data into signals for a monitor 634. The monitor 634 includes a screen 605. The screen 605 can be sensitive to heat or touching (now collectively referred to as a “touch screen”). In one implementation, the computer system 600 may not include a monitor 634.

The GPU 631 may be a microprocessor specifically designed to manipulate and implement computer graphics. The CPU 630 may offload work to the GPU 631. The GPU 631 may have its own graphics memory, and/or may have access to a portion of the system memory 626. As with the CPU 630, the GPU 631 may include one or more processing units, and each processing unit may include one or more cores.

The system bus 628 may be any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus also known as Mezzanine bus. The system memory 626 may include a read only memory (ROM) 612 and a random access memory (RAM) 616. A basic input/output system (BIOS) 614, containing the basic routines that help transfer information between elements within the computing system 600, such as during start-up, may be stored in the ROM 612. The computing system may be implemented using a printed circuit board containing various components including processing units, data storage memory, and connectors.

Certain implementations may be configured to be connected to a GPS and/or a sonar system. The GPS and/or sonar system may be connected via the network interface 644 or Universal Serial Bus (USB) interface 642. In one implementation, the computing system 600, the monitor 634, the screen 605 and buttons may be integrated into a console.

The computing system 600 may further include a hard disk drive 636 for reading from and writing to a hard disk 650, a memory card reader 652 for reading from and writing to a removable memory card 656 and an optical disk drive 654 for reading from and writing to a removable optical disk 658, such as a CD ROM, DVD ROM or other optical media. The hard disk drive 650, the memory card reader 652 and the optical disk drive 654 may be connected to the system bus 628 by a hard disk drive interface 636, a memory card interface 638 and an optical drive interface 640, respectively. The drives and their associated computer-readable media may provide nonvolatile storage of computer-readable instructions, data structures, program modules and other data for the computing system 600.

Although the computing system 600 is described herein as having a hard disk 650, a removable memory card 656 and a removable optical disk 658, it should be appreciated by those skilled in the art that the computing system 600 may also include other types of computer-readable media that may be accessed by a computer. For example, such computer-readable media may include computer storage media and communication media. Computer storage media may include volatile and non-volatile, and removable and non-removable media implemented in any method or technology for storage of information, such as computer-readable instructions, data structures, program modules or other data. Computer storage media may further include RAM, ROM, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other solid state memory technology, including a Solid State Disk (SSD), CD-ROM, digital versatile disks (DVD), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computing system 700. Communication media may embody computer readable instructions, data structures, program modules or other data in a modulated data signal, such as a carrier wave or other transport mechanism and may include any information delivery media. By way of example, and not limitation, communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. The computing system 600 may also include a host adapter 633 that connects to a storage device 635 via a small computer system interface (SCSI) bus, a Fiber Channel bus, an eSATA bus, or using any other applicable computer bus interface. The computing system 600 can also be connected to a router 664 to establish a wide area network (WAN) 666 with one or more remote computers 674. The router 664 may be connected to the system bus 628 via a network interface 644. The remote computers 674 can also include hard disks 672 that store application programs 670.

In another implementation, the computing system 600 may also connect to one or more remote computers 674 via local area network (LAN) 676 or the WAN 666. When using a LAN networking environment, the computing system 600 may be connected to the LAN 676 through the network interface or adapter 644. The LAN 676 may be implemented via a wired connection or a wireless connection. The LAN 676 may be implemented using Wi-Fi technology, cellular technology, or any other implementation known to those skilled in the art. The network interface 644 may also utilize remote access technologies (e.g., Remote Access Service (RAS), Virtual Private Networking (VPN), Secure Socket Layer (SSL), Layer 2 Tunneling (L2T), or any other suitable protocol). These remote access technologies may be implemented in connection with the remote computers 674. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computer systems may be used. The network interface 644 may also include digital cellular networks, Bluetooth, or any other wireless network interface.

A number of program modules may be stored on the hard disk 650, memory card 656, optical disk 658, ROM 612 or RAM 616, including an operating system 618, one or more application programs 620, program data 624 and a database system. The one or more application programs 620 may contain program instructions configured to perform methods 300, 400, or 500 according to various implementations described herein. The operating system 618 may be any suitable operating system that may control the operation of a networked personal or server computer, such as Windows® XP, Mac OS® X, Unix-variants (e.g., Linux® and BSD®), Android®, iOS®, and the like.

A user may enter commands and information into the computing system 600 through input devices such as a keyboard 662 and pointing device. Other input devices may include a microphone, joystick, game pad, satellite dish, scanner, user input button, wearable device, or the like. These and other input devices may be connected to the CPU 630 through a USB interface 642 coupled to system bus 628, but may be connected by other interfaces, such as a parallel port, Bluetooth or a game port. A monitor 605 or other type of display device may also be connected to system bus 628 via an interface, such as a video adapter 632. In addition to the monitor 634, the computing system 600 may further include other peripheral output devices such as speakers and printers.

Marine Electronics Device

FIG. 7 illustrates a schematic diagram of a marine electronics device 700 in accordance with various implementations described herein. The marine electronics device 700 includes a screen 705. In certain implementations, the screen 705 may be sensitive to touching by a finger. In other implementations, the screen 705 may be sensitive to the body heat from the finger, a stylus, or responsive to a mouse. The device 700 may display marine electronic data 715. The marine electronic data types 715 may include chart data, radar data, sonar data, steering data, dashboard data, navigation data, fishing data, and the like. The marine electronics device 700 may also include a plurality of buttons 720, which may be either physical buttons or virtual buttons, or a combination thereof. The marine electronics device 700 may receive input through a screen 705 sensitive to touch or buttons 720. The marine electronics device 700 may be connected to a motion capture device using a wired connection, such as USB, or through a wireless connection, such as Bluetooth.

While the foregoing is directed to implementations of various techniques described herein, other and further implementations may be devised without departing from the basic scope thereof, which may be determined by the claims that follow.

Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims. 

What is claimed is:
 1. A non-transitory computer-readable medium having stored thereon a plurality of computer-executable instructions which, when executed by a computer, cause the computer to: receive motion capture data recorded by one or more cameras; analyze the motion capture data to detect a cast, catch, or bite; and store a record of the cast, catch, or bite.
 2. The non-transitory computer-readable medium of claim 1, wherein the motion capture data comprises motion capture data of a fisherman during a fishing trip.
 3. The non-transitory computer-readable medium of claim 1, wherein the motion capture data comprises video of a fisherman casting.
 4. The non-transitory computer-readable medium of claim 1, wherein the motion capture data comprises the location of one or more tracking points on a fisherman's body.
 5. The non-transitory computer-readable medium of claim 1, wherein the instructions that cause the computer to analyze the motion capture data to detect a cast, catch, or bite comprise instructions that cause the computer to determine whether the motion capture data corresponds to a fisherman casting or making a catch.
 6. The non-transitory computer-readable medium of claim 1, wherein the computer-executable instructions further cause the computer to determine a type of cast.
 7. The non-transitory computer-readable medium of claim 1, wherein the computer-executable instructions further cause the computer to determine a length of a caught fish, weight of the caught fish, species of the caught fish, or combinations thereof.
 8. The non-transitory computer-readable medium of claim 1, wherein the computer-executable instructions further cause the computer to: use the motion capture data to determine weather conditions; and store a record of the weather conditions.
 9. The non-transitory computer-readable medium of claim 8, wherein the weather conditions comprise cloud cover or light levels.
 10. The non-transitory computer-readable medium of claim 1, wherein the computer-executable instructions further cause the computer to: receive a location detected by a Global Positioning System; store a record of the location; and associate the record of the location with the record of the cast, catch, or bite.
 11. The non-transitory computer-readable medium of claim 1, wherein the computer-executable instructions further cause the computer to transmit the record to a cloud software service.
 12. A non-transitory computer-readable medium having stored thereon a plurality of computer-executable instructions which, when executed by a computer, cause the computer to: receive a three dimensional scan of a fish; analyze the three dimensional scan to determine a length and weight of the fish; and store a record of the length and weight of the fish.
 13. The non-transitory computer-readable medium of claim 12, wherein the three dimensional scan of a fish is a point cloud corresponding to the fish.
 14. The non-transitory computer-readable medium of claim 12, wherein the computer-executable instructions further cause the computer to transmit the record to a cloud software service.
 15. The non-transitory computer-readable medium of claim 12, wherein the computer-executable instructions further cause the computer to: analyze the three dimensional scan to determine a species of the fish; and store a record of the species of the fish.
 16. The non-transitory computer-readable medium of claim 15, wherein the instructions that cause the computer to analyze the three dimensional scan to determine the species of the fish comprise instructions that cause the computer to compare the three dimensional scan to one or more three dimensional scans of previously identified fish.
 17. The non-transitory computer-readable medium of claim 12, wherein the instructions that cause the computer to analyze the three dimensional scan to determine the length and weight of the fish comprise instructions that cause the computer to: determine the length of the fish; and use the length of the fish to estimate the weight of the fish.
 18. A non-transitory computer-readable medium having stored thereon a plurality of computer-executable instructions which, when executed by a computer, cause the computer to: receive motion capture data recorded by one or more cameras, wherein the motion capture data comprises motions of a fisherman during a fishing trip; analyze the motion capture data to automatically detect casts, catches, bites, or combinations thereof performed by the fisherman during the fishing trip; and store a record of the casts, catches, or bites.
 19. The non-transitory computer-readable medium of claim 18, wherein the computer-executable instructions further cause the computer to: use the motion capture data to determine weather conditions during the fishing trip; and associate the weather conditions with the record of the casts, catches, or bites.
 20. The non-transitory computer-readable medium of claim 18, wherein the computer-executable instructions further cause the computer to: receive locations detected by a Global Positioning System; store records of the locations; and associate the records of the locations with the records of the casts, catches, or bites. 